/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Menu;

import Gerenciadores.GerenciadorPaciente;
import Modelo.CPF;
import Modelo.Paciente;
import Modelo.RG;
import Modelo.Telefone;
import Modelo.TipoConvenio;
import POO.TecladoUtils;
import java.io.IOException;
import java.util.Date;

/**
 *
 * @author kelyane
 */
class MenuAcaoAtualizarPaciente extends MenuAcao {

    @Override
    public void executar() throws IOException {
        //O usuario escolhe qual informacao deseja alterar para determinado paciente.
        
        Paciente paciente = GerenciadorPaciente.obtemPaciente();  
        if(paciente == null){
            return;
        }
        
        Integer opcao;
        
        do{
            MenuUtils.exibeMenuDadosPaciente();
            opcao = TecladoUtils.lerInteiro();

            switch(opcao){
                case 1: {
                    String nome = TecladoUtils.lerString();
                    paciente.setNome(nome);
                    break;
                }
                case 2: {
                    String rg = TecladoUtils.lerString();
                    paciente.setRg(new RG(rg));
                    break;
                }
                case 3: {
                    String cpf = TecladoUtils.lerString();
                    paciente.setCpf(new CPF(cpf));
                    break;
                }
                case 4: {
                    String dataNascimento = TecladoUtils.lerString();
                    paciente.setDataNascimento(new Date(dataNascimento));
                    break;
                }
                case 5: {
                    String endereco = TecladoUtils.lerString();
                    paciente.setEndereco(endereco);
                    break;
                }
                case 6: {
                    String estado = TecladoUtils.lerString();
                    paciente.setEstado(estado);
                    break;
                }
                case 7: {
                    String cidade = TecladoUtils.lerString();
                    paciente.setCidade(cidade);
                    break;
                }
                case 8: {
                    String tel = TecladoUtils.lerString();
                    paciente.setTelefone(new Telefone(tel));
                    break;
                }
                case 9: {
                    String cel = TecladoUtils.lerString();
                    paciente.setTelefone(new Telefone(cel));
                    break;
                }
                case 10: {
                    String email = TecladoUtils.lerString();
                    paciente.setEmail(email);
                    break;
                }
                case 11: {
                    MenuUtils.exibeMenuConvenio();
                    Integer numConvenio = TecladoUtils.lerInteiro();
                    TipoConvenio tpConvenio = MenuUtils.obtemConvenio(numConvenio);
                    paciente.setTpConvenio(tpConvenio);
                    break;
                }

            }
        }while(opcao != 0);
    }
    
    @Override
    public String getNome() {
        return "Atualizar Paciente";
    }
    
    
    

    
}
